home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / LOCATE.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-29  |  434b  |  19 lines

  1. PROCEDURE locate(xx: glnarray; n: integer;
  2.          x: real; VAR j: integer);
  3. (* Programs which use routine LOCATE must define the type
  4. TYPE
  5.    glnarray = ARRAY [1..n] OF real;
  6. in the main routine. *)
  7. VAR
  8.    ju,jm,jl: integer;
  9. BEGIN
  10.    jl := 0;
  11.    ju := n+1;
  12.    WHILE (ju-jl > 1) DO BEGIN
  13.       jm := (ju+jl) DIV 2;
  14.       IF ((xx[n] > xx[1]) = (x > xx[jm])) THEN jl := jm
  15.       ELSE ju := jm
  16.    END;
  17.    j := jl
  18. END;
  19.